Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deAnimatedMesh.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file deAnimatedMesh.hpp
00003 ///
00004 /// @brief header for animated mesh loading code
00005 ///
00006 /// @author Assassin
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date June 2002
00023 /// @author Assassin
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 //Destiny 3D Actor Class
00029 //A simple MD2 loader to start.  Maybe we could build off this later.
00030 #ifndef DEANIMATEDMESH_H
00031 #define DEANIMATEDMESH_H
00032 
00033 #include "deGlobalTypes.hpp"
00034 #include "deMath.hpp"
00035 #include "deResource.hpp"
00036 
00037 #if defined(DEANIMATEDMESH_DLL_EXPORTS) || defined(DESTINY3D_EXPORT_ALL)
00038 #   define ACTOR_API extern "C" DEDLL_EXPORT
00039 #elif defined(DESTINY3D_STATIC_LINK)
00040 #   define ACTOR_API extern "C"
00041 #else
00042 #   define ACTOR_API extern "C" DEDLL_IMPORT
00043 #endif
00044 
00045 #ifdef USING_DESTINY3D
00046 #ifdef _DEBUG
00047 #   ifdef DESTINY3D_STATIC_LINK
00048 #       pragma comment(lib, "deAnimatedMesh_sd")
00049 #   else
00050 #       pragma comment(lib, "deAnimatedMeshd")
00051 #   endif //DESTINY3D_STATIC_LINK
00052 #else
00053 #   ifdef DESTINY3D_STATIC_LINK
00054 #       pragma comment(lib, "deAnimatedMesh_s")
00055 #   else
00056 #       pragma comment(lib, "deAnimatedMesh")
00057 #   endif //DESTINY3D_STATIC_LINK
00058 #endif //_DEBUG
00059 #endif //USING_DESTINY3D
00060 
00061 class IdeAnimatedMesh;
00062 class IdeBitmapProxy;
00063 class IdeRenderTexture;
00064 class IdeVertexBuffer;
00065 class IdeDriver;
00066 
00067     ACTOR_API void      IdeAnimatedMesh_Initialize();
00068     ACTOR_API long      IdeAnimatedMesh_GetRscInterfaceID();
00069 
00070 //class IdeAnimatedMesh : virtual public IdeResourceBase
00071 DE3D_INTERFACE(IdeAnimatedMesh, IdeResourceBase)
00072 {
00073 protected:
00074     virtual ~IdeAnimatedMesh() {}
00075 public:
00076     virtual IdeVertexBuffer*    GetVBuffer() = 0;
00077     virtual IdeVertexBuffer*    GetVBuffer(float Time) = 0;
00078     virtual IdeRenderTexture*   GetTexture(IdeDriver * pDriver) = 0;
00079 
00080     virtual int                 GetNumFrames() = 0;
00081     virtual int                 GetNumVerts() = 0;
00082     virtual int                 GetNumTriangles() = 0;
00083     virtual int                 GetNumSkins() = 0;
00084     virtual int                 GetFrameSize() = 0;
00085     virtual int                 GetNumTexCoords() = 0;
00086 
00087     virtual int                 GetCurrentFrame() = 0;
00088     virtual int                 GetNextFrame() = 0;
00089     virtual float               GetInterpolation() = 0;
00090 
00091     virtual char                *GetSkinName(int index) = 0;
00092 
00093     virtual void                SetAnimSpeed(float FramesPerSec) = 0;
00094     virtual deBoolean           SetCurrentAnim(const char* AnimName) = 0;
00095     virtual deBoolean           SetCurrentAnim(int AnimNum) = 0;
00096     virtual float               GetAnimSpeed() = 0;
00097     virtual int                 GetCurrentAnim() = 0;
00098 
00099     virtual void                SetCurrentFrame(int frame) = 0;
00100     virtual void                SetNextFrame(int frame) = 0;
00101     
00102     virtual void                SetTexture(const char *filename) = 0;
00103     virtual void                SetTexture(IdeBitmapProxy *tex) = 0;
00104 };
00105 
00106 
00107 
00108 #endif // DEANIMATEDMESH_H

Generated on Mon Sep 12 19:58:21 2005 for Destiny3D by doxygen1.3-rc3